///////////////////////////////////////////////////////////
//  CItemView.h
//  Implementation of the Class CCreateCheckListView
//  Created on:      21-Sep-2013 9:36:21 AM
//  Original author: Jakkaphan Aiemcharoenjit
///////////////////////////////////////////////////////////

//#if !defined(CITEMVIEW_HEADERFILE)
//#define CITEMVIEW_HEADERFILE

#include "IItem.h"
#include "IHeader.h"
#include "IChoices.h"
#include "IWindowDirector.h"

#include "IwNUI.h"

using namespace IwNUI;
using namespace Data;

namespace UI
{
  /**
  * Auto pointer to a CItemView
  */
  class CItemView;

  typedef IwNUI::CSharedPtr<CItemView> CItemViewPtr;

  class CItemView : public CView
  {
  public:
    static CItemViewPtr CreateItemView(IItem* itemData, IChoices* choicesData, IWindowDirector* director);
    static CItemViewPtr CreateItemView(IHeader* headerData);

    CItemView(IItem* itemData, IChoices* choicesData, IWindowDirector* director);
    CItemView(IHeader* headerData);
    virtual ~CItemView();

    bool OnClickedButton(CButton* button);

  private:
    IItem*            m_item;
    IChoices*         m_choices;
    IWindowDirector*  m_parentWnd;
  };
}

//#endif